/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.aaron.platform.service;

import com.aaron.platform.dao.PageInfo;
import com.aaron.platform.entity.FgysPhysicalSite;
import com.aaron.platform.exceptions.PhySiteActiveException;
import com.aaron.platform.exceptions.PhySiteAllReadyExistException;
import com.aaron.platform.exceptions.PhySiteNotExistException;
import com.aaron.platform.exceptions.SiteRequireNotMatchedException;
import java.util.List;
import java.util.Properties;

/**
 *
 * @author Administrator
 */
public interface ISiteMgr {

    public FgysPhysicalSite findPhySiteById(Integer phySiteId) throws PhySiteNotExistException;

    public List<FgysPhysicalSite> findPhySiteByName(String siteName);

    public List<FgysPhysicalSite> findPhySitesByCondition(Properties conditionP, PageInfo pageInfo);

    public void addPhySite(FgysPhysicalSite fgysPhySite) throws PhySiteAllReadyExistException;

    public void updatePhySite(FgysPhysicalSite fgysPhySite) throws PhySiteAllReadyExistException, PhySiteNotExistException, SiteRequireNotMatchedException;

    public void removePhySite(Integer phySiteId) throws PhySiteNotExistException, PhySiteActiveException;
}
